#ifndef CALLBACK_H
#define CALLBACK_H
#include <string>
#include <boost/function.hpp>
#include <boost/bind.hpp>

class TcpConnection;
typedef std::shared_ptr<TcpConnection> TcpConnectionPtr;

typedef boost::function<void (const TcpConnectionPtr&)> ConnectionCallback;
typedef boost::function<std::string (const TcpConnectionPtr&, std::string&)> MessageCallback;

void defaultConnectionCallback(const TcpConnectionPtr& conn);

/**
* brief: 消息处理回调函数
*
* @param conn 网络连接
* @param message 接收到网络消息
*
* @returns 返回message未处理完成的消息，以便继续接收消息处理
*/
std::string defaultMessageCallback(const TcpConnectionPtr& conn, std::string& message);


#endif
